Slicing of probabilistic programs based on specifications
نویسندگان
چکیده
This paper presents the first slicing approach for probabilistic programs based on specifications. We show that when are accompanied by their specifications in form of pre- and post-condition, we can exploit this semantic information to produce specification-preserving slices strictly more precise than yielded conventional techniques data/control dependency. To achieve goal, our technique is backward propagation post-conditions via greatest pre-expectation transformer—the counterpart Dijkstra weakest pre-condition transformer. The termination-sensitive, allowing preserve partial as well total correctness w.r.t. It modular, featuring a local reasoning principle, formally proved correct. As fundamental technical ingredients technique, design prove sound verification condition generators establishing programs, which interest own be exploited elsewhere other purposes. On practical side, demonstrate applicability means few illustrative examples case study from modelling field. also describe an algorithm computing least among space derived technique.
منابع مشابه
Based Specifications – reusing specifications , programs and proofs
The system has been designed for developing large interactive proofs. In particular, the GUI provides commands for reading and writing hierarchical proofs by letting the user focus on part of a proof. TLAPS uses a fingerprinting mechanism to store proof obligations and their status. It thus avoids reproving previously proved obligations, even after a model or a proof has been restructured, and ...
متن کاملIncrementalizing MCMC in Probabilistic Programs Through Tracing and Slicing
Probabilistic programming enables high-level specification of complex probabilistic models without the need for hand-built inference techniques. We present a dynamic compilation technique for increasing the efficiency of Markov Chain Monte Carlo (MCMC) inference on probabilistic programs. We focus on Church, a probabilistic extension of untyped call-by-value lambda calculus. MCMC in this settin...
متن کاملSystem - Dependence - Graph - Based Slicing of Programs
Many algorithms for automating software engineering tasks require program slices. To be applicable to large software systems, these slices must be computed in-terprocedurally. Slicing techniques based on the system dependence graph (SDG) provide one approach for computing interprocedural slices, but these techniques are deened only for programs in which called procedures necessarily return to c...
متن کاملDynamic slicing of lazy functional programs based on redex trails
Tracing computations is a widely used methodology for program debugging. Lazy languages, however, pose new demands on tracing techniques because following the actual trace of a computation is generally useless. Typically, tracers for lazy languages rely on the construction of a redex trail, a graph that stores the reductions performed in a computation. While tracing provides a significant help ...
متن کاملSlicing-Based Trace Analysis of Rewriting Logic Specifications with iJulienne
We present iJulienne, a trace analyzer for conditional rewriting logic theories that can be used to compute abstract views of Maude executions that help users understand and debug programs. Given a Maude execution trace and a slicing criterion which consists of a set of target symbols occurring in a selected state of the trace, iJulienne is able to track back reverse dependences and causality a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Science of Computer Programming
سال: 2022
ISSN: ['1872-7964', '0167-6423']
DOI: https://doi.org/10.1016/j.scico.2022.102822